#ifndef CANSETTINGS_H
#define CANSETTINGS_H
//单例
#include <QMainWindow>
#include <QWidget>
#include <QMutex>
#include <QMutexLocker>
#include <QDebug>
#include<QStyleFactory>
#include<QIcon>
#include<QMessageBox>
#include<QMenu>
#include<QContextMenuEvent>
//tree
#include<QStandardItemModel>
#include <QTableView>
#include <QFileDialog>
#include<QPushButton>
#include<QItemDelegate>



#include <QStyledItemDelegate>
#include <QStyleOptionButton>
#include <QTableView>
#include <QStandardItemModel>
#include <QPushButton>


namespace Ui {
class CanSettings;
}

class CanSettings : public QMainWindow
{
    Q_OBJECT

public:


    static CanSettings *getInstance();
    ~CanSettings();
    //添加成员变量
    QStandardItemModel treemodel;
    QStandardItemModel tableModel;
    void onTreeViewMenuRequested(const QPoint &pos);
    void onTableViewMenuRequested(const QPoint &pos);
    void ClickDownloadButton();
    void onActionTest();
    void onActionView();
    void onTableBtnClicked();
    void on_buttonClicked();

    //DELETE
    void deleteoneline();
    void deleteallline();
    void addoneline();
    void updaterowsid();

private slots:
    void on_treeView_clicked(const QModelIndex &index);

    void on_tableView_clicked(const QModelIndex &index);

private:
    //构造  函数 私有化
    explicit CanSettings(QWidget *parent = nullptr);
    Ui::CanSettings *ui;
    //添加私有静态指针变量指向该类的唯一实例
    static CanSettings* instance;
    QStandardItemModel *model;
};


#endif // CANSETTINGS_H
